package woaini.wind.bot.code.impl.qq.auto;

import cn.hutool.core.collection.CollUtil;
import lombok.AllArgsConstructor;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Component;
import woaini.wind.bot.code.impl.qq.QQBOT;
import woaini.wind.bot.code.impl.qq.config.QQBOTAutoConfig;
import woaini.wind.bot.code.impl.qq.config.QQBOTConfig;
import woaini.wind.bot.core.boot.IBotAutoRegister;
import woaini.wind.bot.core.bot.Bot;

import java.util.ArrayList;
import java.util.List;

@Component
@EnableConfigurationProperties(QQBOTAutoConfig.class)
@AllArgsConstructor
public class QQBOTAutoRegister implements IBotAutoRegister {

  private final QQBOTAutoConfig qqBotAutoConfig;

  @Override
  public String name() {
    return QQBOT.NAME;
  }

  @Override
  public List<Bot> autoRegister() {
    List<Bot> botList = new ArrayList<>();
    List<QQBOTConfig> configs = qqBotAutoConfig.getBots();
    if (CollUtil.isEmpty(configs)) {
      return botList;
    }
    for (QQBOTConfig config : configs) {
      QQBOT qqbot = new QQBOT(config);
      botList.add(qqbot);
    }
    return botList;
  }
}
